The present invention relates generally to color management in graphic arts (GA) publishing, and more specifically to techniques for calibrating scanners. The term "scanner" used herein is intended to include not only devices that scan a printed input but also other devices that receive radiation and output color signals, such as digital cameras.
A computer system providing color management functions comprises various devices that receive or output color images. Each such device usually has its own, device-dependent, way of specifying a particular color. Typically, each device communicates color information to other devices by mapping its device-dependent color specifications into corresponding specifications in a common device-independent representation of color used throughout the computer system. One such device-independent representation of color is the XYZ color space defined by the CIE (Commission Internationale de l'Eclarage in French).
One common device in color management systems is a scanner, which scans a color printed image. A typical scanner provides a set of RGB (red-green-blue) values, each normally ranging from 0-255, with (0, 0, 0) ideally corresponding to black and (255, 255, 255) to white (no colorant). Typically, a scanner must be calibrated in order to provide accurate mapping from the scanner's color representations to corresponding device-independent color representations, over the range of colors that can be produced by an associated printer. Accurate device-independent representations can then be shared with other devices (such as a monitor), enabling them to accurately reproduce colors that look like the colors in the scanned printed image. The use of the term "color printed image" is intended to include not only images printed on paper but also other types of scanner inputs, such as films, transparencies, and slides. The term "printer" is intended to include the devices producing such scanner inputs and against whose output the scanner is to be calibrated.
One approach to scanner calibration involves building a look-up table, whose entries are indexed by scanner color representation, with each entry containing a respective corresponding device-independent color representation. The scanner color representation associated with each table entry is obtained by scanning a printed sample of a respective color from the printer's color space. The corresponding device-independent color representation is obtained by examining the printed color sample with a device that can provide device-independent color representations, such as a spectrophotometer. An interpolation technique is used to calculate a device-independent color representation corresponding to an arbitrary scanner color representation, using the values stored in two or more of the look-up table entries. This approach suffers from several drawbacks:
1) This typically requires a large number (typically hundreds) of table entries in order to obtain reasonably accurate device-independent color representations. In other words, a large number of color samples from the printer's color space must be printed, scanned by the scanner, and examined by the spectrophotometer. If the spectrophotometric measurement of the samples are done manually, this results in a painfully slow calibration process. This is particularly problematic given that the calibration process may have to be frequently performed, on account of changing conditions. For example, printer colorants change from batch to batch as well as over time, and the scanner's spectral response varies depending on environmental conditions and over time. While it is possible to reduce the amount of manual effort by providing an automated stage mechanism for moving the color samples relative to the spectrophotometer device, this is expensive and bulky. PA1 2) The required interpolation technique is typically three-dimensional, and thus computationally expensive. Given that a scanned image may have millions of pixels, the interpolation technique may result in an unacceptably slow mapping from a scanner representation to a device-independent representation of the colors in the image. PA1 1) printing a set of color samples for a set of M key colors on a substrate (e.g. paper, film, transparency) with a device using the particular colorant set, each key color being either a primary colorant or a combination of an adjacent (in the sense of hue) pair of primary colorants, the key colors defining a cyclical sequence; PA1 2) measuring each sample and a region of bare substrate with a device that provides a device-independent representation to obtain a set of M+1 device-independent representations of the M samples and the region of bare substrate; PA1 3) measuring each sample and the region of bare substrate with the scanner to be calibrated to obtain a set of M+1 scanner representations of the M samples and the region of bare substrate; and PA1 4) establishing a mapping from the scanner representations to the device-independent representations, the mapping is characterized by a set of M transforms, each given transform being associated with a different pair of key colors that are adjacent in the cyclical sequence. PA1 1) determining, on the basis of the scanner measurement of the arbitrary color, an applicable one of the M transforms; and PA1 2) applying the applicable one of the M transforms, so determined, to the scanner measurement of the arbitrary color to obtain a device-independent measurement of the arbitrary color. PA1 transforming the scanner measurement for the arbitrary color into chromaticity values which include a hue value; and PA1 determining which pair of key color hue values minimally spans the arbitrary color's hue value. If, perchance, the arbitrary color's hue value is equal to the hue value of one of the key colors, either of the transforms for which that key color is one of the associated key colors may be used.
In view of these difficulties, attempts have been made to find a linear mapping between the scanner's device-dependent color representations (e.g., scanner RGB values) and the desired device-independent color representations (e.g., XYZ values). Put another way, attempts have been made to determine a 3.times.3 transformation matrix, M, such that the XYZ values, denoted X.sub.a, Y.sub.a, and Z.sub.a, for an arbitrary set of scanner RGB values denoted R.sub.a, G.sub.a, and B.sub.a, are determined as follows: EQU (X.sub.a, Y.sub.a, Z.sub.a)=(R.sub.a, G.sub.a, B.sub.a)*M.
This has typically been done by measuring a number of color samples distributed over the printer's color space, and doing a least squares fit (or other type of fit) to determine the matrix parameters. Since the mapping is, in general, not linear over the entire color space, such efforts have not led to acceptable results.
Thus, the problem of adequately calibrating a scanner to provide device-independent values continues to require expensive or time-consuming solutions.